收藏 分享(赏)

C语言作业习题.doc

上传人:小屁孩 文档编号:8846853 上传时间:2019-07-14 格式:DOC 页数:103 大小:402KB
下载 相关 举报
C语言作业习题.doc_第1页
第1页 / 共103页
C语言作业习题.doc_第2页
第2页 / 共103页
C语言作业习题.doc_第3页
第3页 / 共103页
C语言作业习题.doc_第4页
第4页 / 共103页
C语言作业习题.doc_第5页
第5页 / 共103页
点击查看更多>>
资源描述

1、-_1005 货币兑换Description给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额,求给定金额的外币能兑换成人民币的金额。要计算的外币有三种:美元、欧元、日元。Input输入有三行。第一行依次为美元、欧元、日元外币汇率,用空格分开。汇率用 100 外币为单位,精确到小数点后 4 位,如 668.5200 表示“100 美元=668.5200 人民币”。汇率浮动范围为(0,10000) 。第二行为外币金额 x,第三行为人民币金额 y。x,y 均为整数,且 0int main()-_double a,b,c;double x;double y;scanf (“

2、%lf%lf%lf“,scanf (“%lf“,scanf (“%lf“,printf (“%.2lf %.2lf %.2lfn“,x*0.01*a,x*0.01*b,x*0.01*c);printf (“%.2lf %.2lf %.2lfn“,y/a*100,y/b*100,y/c*100);return 0;1006 求字符的值Description从键盘输入 3 个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII 码)、八进制值和十六进制值。Input输入为 3 个字符。Output输出为 3 行。每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。

3、每个输出的值占 3 个字符,不足 3 个字符前面补 0。Sample Input0 ASample Output048 060 030 032 040 020 -_065 101 041 HINT了解字符值的存储和整型的关系。#include int main()char a,b,c;scanf (“%c%c%c“,printf(“%.3d %.3o %.3xn“,a,a,a);printf(“%.3d %.3o %.3xn“,b,b,b);printf(“%.3d %.3o %.3xn“,c,c,c);return 0;1007 奇数还是偶数?Description输入一个整数,判读它是奇数

4、还是偶数。Input输入只有一行,为一个 100 以内的正整数。Output输出为一行。若输入为偶数则输出“even”,奇数输出“odd”。Sample Input30Sample Output-_evenHINT用整数运算可以解决,练习“?:”表达式。法 1:#include int main()int a;(0#include int main()int a;scanf(“%d“,if(a0)return a%2=0?printf(“evenn“):printf(“oddn“);1008 绝对值Description求整型数据和浮点型数据的绝对值。Input输入两个数,第一个是整数,第二个

5、是浮点数。-_Output输出为两行,第一行为整数的绝对值,第二行为浮点数的绝对值,注意浮点数的绝对值不输出无意义的 0。Sample Input-1 1 Sample Output1 1 HINT求绝对值可以用标准库函数来完成,也可以自己判断。注意浮点数的输出格式。求绝对值的函数在哪个头文件?貌似很多人会搞错,包括很多编书的人!#include #include #include int main()int a,b;double c,d;scanf(“%d“,b=abs(a);scanf(“%lf“,d=fabs(c);printf(“%dn“,b);printf(“%gn“,d); /%g

6、 按%f,%e ,两者中较短的输出,不输出无意义的0return 0;/fabs-math.h/abs-stdlib.h1009 简单的打折计算-_Description商店规定:消费满 n 元,可以打八八折。设某件商品标价 m 元,输入购买的件数 x,计算出需要支付的金额(单位:元),精确到分。Input输入只有一行,三个整数 m、 n 和 x,且 0#include int main()int m,n,x;(0=n)s=m*x*0.88;-_elses=m*x;printf (“%.2f“,s);return 0;法 2:#include #include int main()int m,

7、n,x;float s;scanf(“%d %d %d“,while(0=n)s=m*x*0.88;elses=m*x;printf (“%.2f“,s);break;return 0;法 3:#include #include int main()int x;float m,n,z;scanf(“%f%f%d“,while(0n)z=0.88*z;printf(“%.2f“,z);break; /breeak 可换为 return 0;代表结束-_1010 判断闰年Description输入一个正整数的年份,判断是否为闰年。Input输入只有一行,为一个 10000 以内的正整数。Outpu

8、t输出为一行。若输入为闰年则输出“Yes”,否则输出“No” 。Sample Input2010Sample OutputNoHINT了解逻辑运算符和关系运算符。闰年的定义:能被 4 整除,但不能被 100 整除;或能被 400 整除#include #include int main()int x;scanf(“%d“,(0#include int main () int y;scanf(“%u“,while(y0scanf(“%d?:%d,%d.%d=“(%dx%d?%d)%dn%dcdef%d$%d;“,l=a+b+c+d+e+f+g+h+i+j+k;printf(“%d“,l);ret

9、urn 0;1012 水仙花数Description如果一个三位十进制数等于其各位数字的立方和,则称这个数为水仙花数。如:13+53+33=153。Input-_一个整数 x,100#include #include int main() int c,a,b,x,m,sum;scanf (“%d“,c=x/100;m=x%100;a=m/10;b=m%10;if(c*c*c+a*a*a+b*b*b=x)printf(“YESn“);elseprintf (“NOn“);return 0;法 2:#include -_#include int main()int a,b,c,z;scanf(“%

10、d“,while (z=100scanf(“%d“,int an2;for(i=0;i#include int main() int a,b,N;scanf (“%d“,int cN2;for (a=0;a#include int main()int a,b;while (scanf(“%d %d“,printf(“%dn“,a+b);return 0;(未看)1054 Matrix Problem (II) : Array PracticeDescription求两个矩阵 A、B 的和。根据矩阵加法的定义,只有同阶的矩阵才能相加。可以确保所有运算结果都在 int 类型的范围之内。Input输

11、入数据为多个矩阵,每个矩阵以两个正整数 m 和 n 开始,满足 0#include int main()int m,n,i,j,t,s,k;int a100100,b100100,c100100;for(k=0;k+)scanf(“%d%d“,if(m=0|n=0)return 0;if(k!=0)printf(“n“);for(i=0;i#include #include int main()-_int m,n,m1,n1,i,j,k,l=0;int a102102,b102102,c102102;memset(a,0,sizeof(a);memset(b,0,sizeof(b);memse

12、t(c,0,sizeof(c);scanf(“%d %d“,for(i=0;i#include #define N 1000int main()int n,i,temp,aN,j;scanf(“%d“,for(i=0;iaj)-_temp=ai;ai=aj;aj=temp;int first=0;for(i=0;i#include #include#include #define N 1000int main()int first=0,n,i,temp,aN,j;/定义整形scanf(“%d“,/输入 n,后面跟 n 个数字for(i=0;iaj+1)temp=aj;aj=aj+1;/i 与

13、j 互换aj+1=temp;for(i=0;i#include int is_swapped(int * a, int * b) int temp;if (*a#include int is_swapped(int * a, int * b)/指针 int temp;/*指针取内容if (*a#include int is_swapped(int * a, int * b)return ab?1:0;-_int main()int a, b;scanf(“%d%d“, if(is_swapped(elseprintf(“%d %d NO“, a, b);return 0;1215 编写函数:字

14、符串的复制 之一 (Append Code)Description将输入的一个字符串 s 拷贝输出。-编写一个函数 str_cpy()求一个串的拷贝:原型:char * str_cpy(char * t, char * s);功能:把串 s 复制到串 t 中,返回值是串 t。函数的调用格式见“Append Code”。-Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。被禁用的头文件:string.h、stdlib.h。被禁用的库函数:strcpy()、strncpy()、memcpy()等。Inp

15、ut输入为多行。每行为一个字符串 s。s 的字符总数不超过 100 个。Output串 s 的复制。输出两遍,一遍是测试返回值,一遍是测试 str。-_Sample Input2 Look! 5 I love china! Sample Output2 Look! 2 Look! 5 I love china! 5 I love china! HINTstr_cpy()的返回值参考标准库函数 strcpy()、strstr()、strchr()的设计思路:返回指向目标串的指针。Append Codeappend.c,int main()char sMAX_STR_LEN, strMAX_STR

16、_LEN, *p;while(gets(s) != NULL)p = str_cpy(str, s);puts(p);puts(str);return 0;#include #define MAX_STR_LEN 122char * str_cpy(char * t, char * s)int i=0;int k;while (*s!=0)/*while (*t+=*s+)t-;while (*t+=*s+)-_t=s;*/*t+=*s+;i+;*t=0;for (k=1;k=i;k+)t-;return t;/hhkjkjint main()char sMAX_STR_LEN, strMAX

17、_STR_LEN, *p;while(gets(s) != NULL)p = str_cpy(str, s);puts(p);puts(str);return 0;1216 编写函数:字符串的复制 之二 (Append Code)Description将输入的一个字符串 s 拷贝输出。-编写一个函数 str_cpy()求一个串的拷贝:原型:char * str_cpy(char * t, char * s, int n);功能:把串 s 的前 n 个字符复制到串 t 中,返回值是串 t。如果串 s 的字符个数不足 n 个,则全部复制。函数的调用格式见“Append Code”。-Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。被禁用的头文件:string.h、stdlib.h。被禁用的库函数:strcpy()、strncpy()、memcpy()等。Input

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报