c语言习题及答案_爱课程mooc 下载本文

printf(\ return 0; }

void delete_string(char str[],char ch) {

int i,j;

for(i=j=0; str[i]!='\\0'; i++) if(str[i]!=ch)

str[j++]=str[i]; str[j]='\\0'; }

11.4

求最大数和最小数的最大公约数(4分)

题目内容:

从键盘输入10个正整数,求出最大数,最小数,以及他们的最大公约数。要求用数组实现。 程序运行结果示例1: Input 10 numbers:

15 23 56 87 94 105 78 19 22 43↙ maxNum=105 minNum=15 15

程序运行结果示例2: Input 10 numbers: 33 1 2 9 8 7 5 4 0 10↙ maxNum=33 minNum=0

输入格式: \ 输出格式:

输入提示信息:\Input 10 numbers:\\n\ 最大数输出格式:\ 最小数输出格式:\ 最大公约数输出格式:\ 输入样例: 输出样例:

#include #include #define maxn 10

void Swap(int *m,int *n); int gcd(int x,int y);

int i,j=0;

int num[maxn]; int main() {

int max,min;

printf(\ for (i=0; i<10; i++)

scanf(\ for(i=0; i<9; i++)

for (j=i; j<10; j++)

if (num[j]

Swap(&num[j],&num[i]); max=num[9]; min=num[0];

printf(\ if (max!=0&&min!=0)

printf(\ return 0; }

void Swap(int *m,int *n) {

int tem; tem=*m; *m=*n; *n=tem; }

int gcd(int x,int y) {

int m; if(x

return gcd(y,x); if(x%y!=0)

return gcd(y,x%y); else

return y; }

第十二章

12.1

百万富翁的换钱计划(4分)

题目内容:

有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱……。你每天给我的钱是前一天的两倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。 输入格式: 无

输出格式:

输出百万富翁给陌生人的钱: \输出陌生人给百万富翁的钱: \输入样例: 输出样例:

#include int main() {

double each1=100000,each2=0.01,sum1=0,sum2=0; int i;

for (i=1;i<=30;i++) {

sum1+=each1; sum2+=each2; each2*=2; }

printf(\ printf(\return 0; }

12.2

用计数控制的循环实现正数累加求和(4分)

题目内容:

输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示输入数据结束。要求最后统计出累加的项数。 程序运行结果示例: Input a number: 1↙

Input a number: 3↙

Input a number: 4↙

Input a number: 2↙

Input a number: -8↙

Input a number:

-9↙

Input a number: 0↙

sum=10,count=4

输入格式: \ 输出格式:

输入提示信息: \ 输出格式: \ 输入样例: 输出样例:

#include #define m 100000 int main() {

int n,sum=0,count=0; do{

printf(\ if(n>0){

sum+=n; count++; }

}while(scanf(\

printf(\ return 0; }

12.3

平方根表(4分)

题目内容:

按如下格式输出100以内整数的平方根表。

输入格式: 无 输出格式: 输出表头: \