C语言作业题.doc
《C语言作业题.doc》由会员分享,可在线阅读,更多相关《C语言作业题.doc(103页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、-_10051005 货币兑换货币兑换DescriptionDescription给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额, 求给定金额的外币能兑换成人民币的金额。 要计算的外币有三种:美元、欧元、日元。InputInput输入有三行。 第一行依次为美元、欧元、日元外币汇率,用空格分开。汇率用 100 外币为单位,精确到 小数点后 4 位,如 668.5200 表示“100 美元=668.5200 人民币”。汇率浮动范围为(0,10000)。 第二行为外币金额 x,第三行为人民币金额 y。x,y 均为整数,且 0 int main()-_double a,b
2、,c; double x; double y; scanf (“%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; 10061006 求字符的值求字符的值DescriptionDescription从键盘输入 3 个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII 码)、 八进制值和十六进制值。InputInp
3、ut输入为 3 个字符。OutputOutput输出为 3 行。 每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。每 个输出的值占 3 个字符,不足 3 个字符前面补 0。SampleSample InputInput0 ASampleSample OutputOutput048 060 030 032 040 020 -_065 101 041 HINTHINT了解字符值的存储和整型的关系。#include int main() char a,b,c; scanf (“%c%c%c“, printf(“%.3d %.3o %.3xn“,a,a,a); printf
4、(“%.3d %.3o %.3xn“,b,b,b); printf(“%.3d %.3o %.3xn“,c,c,c); return 0; 10071007 奇数还是偶数?奇数还是偶数?DescriptionDescription输入一个整数,判读它是奇数还是偶数。InputInput输入只有一行,为一个 100 以内的正整数。OutputOutput输出为一行。 若输入为偶数则输出“even”,奇数输出“odd”。SampleSample InputInput30SampleSample OutputOutput-_evenHINTHINT用整数运算可以解决,练习“?:”表达式。法 1: #
5、include int main() int a; (0 #include int main() int a;scanf(“%d“,if(a0)return a%2=0?printf(“evenn“):printf(“oddn“); 10081008 绝对值绝对值DescriptionDescription求整型数据和浮点型数据的绝对值。InputInput输入两个数,第一个是整数,第二个是浮点数。-_OutputOutput输出为两行,第一行为整数的绝对值,第二行为浮点数的绝对值,注意浮点数的绝对值不 输出无意义的 0。SampleSample InputInput-1 1 SampleSa
6、mple OutputOutput1 1 HINTHINT求绝对值可以用标准库函数来完成,也可以自己判断。注意浮点数的输出格式。求绝对值 的函数在哪个头文件?貌似很多人会搞错,包括很多编书的人! #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 按%f,%e,两者中较短的输出,不输出无意义的 0return 0; /fabs-math.h /abs-stdlib.h10091
7、009 简单的打折计算简单的打折计算-_DescriptionDescription商店规定:消费满 n 元,可以打八八折。设某件商品标价 m 元,输入购买的件数 x,计算 出需要支付的金额(单位:元),精确到分。InputInput输入只有一行,三个整数 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,n,x;float s;scanf(“%d %d %d“,whi
8、le(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;代表结束 -_10101010 判断闰年判断闰年DescriptionDescription输入一个正整数的年份,判断是否为闰年。InputInput输入只有一行,为一个 10000 以内的正整数。OutputO
9、utput输出为一行。 若输入为闰年则输出“Yes”,否则输出“No”。SampleSample InputInput2010SampleSample OutputOutputNoHINTHINT了解逻辑运算符和关系运算符。闰年的定义:能被 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+
10、c+d+e+f+g+h+i+j+k;printf(“%d“,l);return 0; 10121012 水仙花数水仙花数DescriptionDescription如果一个三位十进制数等于其各位数字的立方和,则称这个数为水仙花数。如: 13+53+33=153。InputInput-_一个整数 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“);
11、return 0; 法 2: #include -_#include int main() int a,b,c,z;scanf(“%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; (未看)(未看)10541054 MatrixMatrix ProblemProblem (II)(II
12、) : : ArrayArray PracticePracticeDescriptionDescription求两个矩阵 A、B 的和。根据矩阵加法的定义,只有同阶的矩阵才能相加。可以确保所有 运算结果都在 int 类型的范围之内。InputInput输入数据为多个矩阵,每个矩阵以两个正整数 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
13、 #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);memset(c,0,sizeof(c);scanf(“%d %d“,for(i=0;i #include #define N 1000 int 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 #includ
14、e #include #include #define N 1000 int main() int first=0,n,i,temp,aN,j;/定义整形scanf(“%d“,/输入 n,后面跟 n 个数字for(i=0;iaj+1)temp=aj;aj=aj+1;/i 与 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
15、 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; 12151215 编写函数:字符串的复制编写函数:字符串的复制 之一之一 (Append(Append Code)Code)DescriptionDescription将输入的一个字符串 s 拷贝输出。 - 编写一个函数 str_cpy()求一个串的拷贝: 原型:char * str_cpy(char * t, char * s)
16、; 功能:把串 s 复制到串 t 中,返回值是串 t。 函数的调用格式见“Append Code”。 - Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果 提交的程序中包含了下列的关键词之一,就会产生这个错误。 被禁用的头文件:string.h、stdlib.h。 被禁用的库函数:strcpy()、strncpy()、memcpy()等。InputInput输入为多行。每行为一个字符串 s。s 的字符总数不超过 100 个。OutputOutput串 s 的复制。 输出两遍,一遍是测试返回值,一遍是测试 str。-_SampleSample Inpu
17、tInput2 Look! 5 I love china! SampleSample OutputOutput2 Look! 2 Look! 5 I love china! 5 I love china! HINTHINTstr_cpy()的返回值参考标准库函数 strcpy()、strstr()、strchr()的设计思路:返回指向目标串 的指针。AppendAppend CodeCodeappend.c, int main() char sMAX_STR_LEN, strMAX_STR_LEN, *p;while(gets(s) != NULL)p = str_cpy(str, s);pu
18、ts(p);puts(str);return 0; #include #define MAX_STR_LEN 122 char * 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 #define MAX_STR_LEN 200 char * str_cpy(char * t, char * s, int n)int i=0,k;/while(*s!=0while(scanf(“%lf %l
19、f“,if(s=19return 0; 12211221 打印字母菱形图案打印字母菱形图案DescriptionDescription输出 N(N 为奇数)行由字母组成的菱形,第 1 行为字母 A,第 2 行为 BCD,第三行为 CDEFG,以此类推。菱形上下对称。InputInput一个奇数 N。0 #include int main() char W26=“ABCDEFGHIJKLMNOPQRSTUVWXYZ“; /26gezimu int n,i,j,a,b,c,d,e; scanf(“%d“, for(i=1;i #include int maxValue (int x,int y,i
20、nt z) if (x=y else if (x=z)return y;elsereturn z; int main() int x, y, z;scanf(“%d %d %d“, printf(“%d“, maxValue(x, y, z);return 0; 法 2: #include #include int M(int a,int b) -_return ab?a:b; int maxValue(int a,int b,int c) return cM(a,b)?c:M(a,b); int main() int x, y, z;scanf(“%d %d %d“, printf(“%d“
21、, maxValue(x, y, z);return 0; 12261226 寻求勾股数寻求勾股数DescriptionDescription满足 x2+y2=z2的正整数 x,y 和 z 称为一组勾股数(pythagorean triple),又称为毕达哥拉 斯三元数组。现在要求你编程求指定范围内的勾股数。InputInput输入若干对数 a 和 b,每对数占一行。0 #include #include #include int main() int a,b,tp=1; while (scanf (“%d%d“,/和输出样例相同int i,j,n=0;/问题:为什么 n=0 放在前面就显示不
22、出来了?,只显示到 case2:(没了)for(i=a;i #include int gcd(int a, int b) int m;while(a/除余a=b;/中间值,使两值互换b=m; if (a=0)return b; else return a; int lcm(int a, int b) return a*b/gcd(a, b);/利用已编好的函数 -_int main() int a, b;while(scanf(“%d %d“, return 0; 法 2: #include #include int gcd(int a, int b) int c,d,m;if(a=b)if(
23、a%b!=0)c=b;b=a%b;a=c;return gcd(a,b);elsereturn b;elsem=a;a=b;b=m;gcd(a,b); int lcm(int a,int b) int M;M=a*b/gcd(a,b);return M; int main() int a, b;while(scanf(“%d %d“, return 0;-_12291229 编写函数:清除字符串首尾的空白符编写函数:清除字符串首尾的空白符 (Append(Append Code)Code)DescriptionDescription在 C 语言中,将 ASCII 字符集中的制表符(t)、回车符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业题
限制150内