上机填空题8184.docx

上传人:b****4 文档编号:3004004 上传时间:2022-11-17 格式:DOCX 页数:9 大小:16.63KB
下载 相关 举报
上机填空题8184.docx_第1页
第1页 / 共9页
上机填空题8184.docx_第2页
第2页 / 共9页
上机填空题8184.docx_第3页
第3页 / 共9页
上机填空题8184.docx_第4页
第4页 / 共9页
上机填空题8184.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

上机填空题8184.docx

《上机填空题8184.docx》由会员分享,可在线阅读,更多相关《上机填空题8184.docx(9页珍藏版)》请在冰豆网上搜索。

上机填空题8184.docx

上机填空题8184

81

题目:

给定程序中,函数fun的功能是:

计算N*N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。

注意:

要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。

例如,若N=3,有下列矩阵:

123

456

789

fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。

注意:

部分源程序如blank.c给出。

请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。

#include

#defineN4

fun(intt[][N],intn)

{

inti,sum;

___1___;

for(i=0;i

sum+=___2___;

for(i=0;i

sum+=t[i][n-i-___3___];

returnsum;

}

main()

{

intt[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j;

printf("\nTheoriginaldata:

\n");

for(i=0;i

{

for(j=0;j

printf("%4d",t[i][j]);

printf("\n");

}

printf("Theresultis:

%d\n",fun(t,N));

}

82

题目:

请补充main函数,该函数的功能是:

打印出1至1000中满足个位数字的立方等于其本身的所有数。

本题的结果为:

164125216729。

注意:

部分源程序如blank.c给出。

仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其它任何内容。

#include

main()

{

inti,g;

clrscr();

for(i=1;i<1000;i++)

{

g=___1___;

if(___2___)

printf("%4d",i);

}

printf("\n");

}

83

题目:

请补充main函数,该函数的功能是:

从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。

结果仍然保存在原串中。

例如,输入"abcdef",指定字符为'c',则输出"ab"。

注意:

部分源程序如blank.c给出。

仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其它任何内容。

#include

#defineN80

main()

{

inti=0;

charstr[N];

charch;

clrscr();

printf("\nInputastring:

\n");

gets(str);

printf("\nInputacharator:

\n");

scanf("%c",&ch);

while(str[i]!

='\0')

{

if(str[i]==ch)

___1___;

___2___;

}

str[i]=___3___;

printf("\n*********displaystring*********\n");

puts(str);

}

84

题目:

请补充main函数,该函数的功能是:

输出方程组A+B=52,A+2B=60的一组正整数解。

本题的结果是:

A=44,B=8。

注意:

部分源程序如blank.c给出。

仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其它任何内容。

#include

main()

{

inti,j,k;

clrscr();

for(i=0;i<100;i++)

for(j=0;j<100;j++)

if(___1___)

printf("A=%2d,B=%2d",___2___);

printf("\n");

}

来吧,来吧,淘宝网上可以淘金的!

 

解答

81

分析:

题目要求计算N*N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。

注意:

要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。

在程序中定义了t二维数组表示矩阵:

intt[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10};

对应的矩阵情况如下:

2121324

25164738

29113254

4221310

主对角线元素为21、16、32、10,反向对角线元素为24、47、11、42。

程序注解如下:

#include

#defineN4

fun(intt[][N],intn)

{

inti,sum;

/*将保存总和的sum变量初始化为0,准备用于累加元素*/

sum=0;

/*计算主对角线元素之和,t[i][i]为主对角线元素表示方法*/

for(i=0;i

sum+=t[i][i];

/*计算反向对角线元素之和,t[i][n-i-1]为反向对角线元素表示方法*/

for(i=0;i

sum+=t[i][n-i-1];

returnsum;

}

main()

{

/*表示矩阵的二维数组*/

intt[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j;

printf("\nTheoriginaldata:

\n");

/*输出表示矩阵的二维数组,按照每一行N个元素的格式输出*/

for(i=0;i

{

for(j=0;j

printf("%4d",t[i][j]);

printf("\n");

}

printf("Theresultis:

%d\n",fun(t,N));

}

82

分析:

题目要求打印出1至1000中满足个位数字的立方等于其本身的所有数。

所以需要使用循环遍历1至1000中所有的整数,检查这些整数的个位数字的立方是否等于其本身。

另外,取得整数i的个位数字可以使用取模运算(%)。

例如123%10便得到个位上的数字3。

程序注解如下:

#include

main()

{

inti,g;

/*clrscr函数的作用是清屏,清除输出窗口中所有已经显示的内容*/

clrscr();

/*逐一检查1至1000之间的整数是否满足条件*/

for(i=1;i<1000;i++)

{

/*取得当前检查的整数的个位数字g*/

g=i%10;

/*判断当前检查的整数i是否满足个位数字g的立方等于其本身*/

if(g*g*g==i)

/*输出符合条件的整数i*/

printf("%4d",i);

}

printf("\n");

}

83

分析:

题目要求从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。

为了实现以上要求,程序使用while循环逐个遍历str数组中每一个字符,将这些字符逐个地与指定字符ch比较。

如果相同,则记录该字符下标退出循环。

按照题意需要把这个字符及其后面的所有字符全部删除,所以程序将这个字符后面一个位置设置为字符串结束标记'\0'即可实现删除后面字符的目的。

程序注解如下:

#include

#defineN80

main()

{

inti=0;

charstr[N];

charch;

/*clrscr函数的作用是清屏,清除输出窗口中所有已经显示的内容*/

clrscr();

printf("\nInputastring:

\n");

/*gets函数的作用是接收键盘输入的字符串,将其放入str数组中*/

gets(str);

printf("\nInputacharator:

\n");

/*接收键盘上输入的单个字符放入ch中,作为指定字符*/

scanf("%c",&ch);

/*逐个将str数组中每一个字符与指定字符ch比较*/

while(str[i]!

='\0')

{

if(str[i]==ch)

/*找到与指定字符ch相同的字符则退出该循环*/

break;

i++;

}

/*为了删除后面的所有字符,只要在与ch相同的字符后面设置结束标记即可*/

str[i]='\0';

printf("\n*********displaystring*********\n");

/*puts函数的作用是输出str字符串的内容*/

puts(str);

}

84

分析:

题目要求输出方程组A+B=52,A+2B=60的一组正整数解。

为了实现题目要求,程序使用了最"笨"的方法,那就是一个一个数字代入方程组试验,如果某一个数字能够满足方程组则就是解,则输出。

程序注解如下:

#include

main()

{

inti,j,k;

/*clrscr函数的作用是清屏,清除输出窗口中所有已经显示的内容*/

clrscr();

/*将整数一个一个代入方程组进行测试是否符合*/

for(i=0;i<100;i++)

for(j=0;j<100;j++)

/*判断当前代入的i、j是否满足方程组,满足则输出解*/

if(i+j==52&&i+2*j==60)

printf("A=%2d,B=%2d",i,j);

printf("\n");

}

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1