上机填空题8184Word格式.docx
《上机填空题8184Word格式.docx》由会员分享,可在线阅读,更多相关《上机填空题8184Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
stdio.h>
#defineN4
fun(intt[][N],intn)
{
inti,sum;
___1___;
for(i=0;
i<
n;
i++)
sum+=___2___;
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"
);
N;
{
for(j=0;
j<
j++)
%4d"
t[i][j]);
Theresultis:
%d\n"
fun(t,N));
82
请补充main函数,该函数的功能是:
打印出1至1000中满足个位数字的立方等于其本身的所有数。
本题的结果为:
164125216729。
仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其它任何内容。
inti,g;
clrscr();
for(i=1;
i<
1000;
i++)
g=___1___;
if(___2___)
i);
83
从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。
结果仍然保存在原串中。
例如,输入"
abcdef"
,指定字符为'
c'
,则输出"
ab"
。
#defineN80
inti=0;
charstr[N];
charch;
\nInputastring:
gets(str);
\nInputacharator:
scanf("
%c"
&
ch);
while(str[i]!
='
\0'
)
if(str[i]==ch)
___2___;
str[i]=___3___;
\n*********displaystring*********\n"
puts(str);
84
输出方程组A+B=52,A+2B=60的一组正整数解。
本题的结果是:
A=44,B=8。
inti,j,k;
100;
j<
j++)
if(___1___)
A=%2d,B=%2d"
___2___);
来吧,来吧,淘宝网上可以淘金的!
解答
分析:
题目要求计算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。
程序注解如下:
/*将保存总和的sum变量初始化为0,准备用于累加元素*/
sum=0;
/*计算主对角线元素之和,t[i][i]为主对角线元素表示方法*/
sum+=t[i][i];
/*计算反向对角线元素之和,t[i][n-i-1]为反向对角线元素表示方法*/
sum+=t[i][n-i-1];
/*表示矩阵的二维数组*/
/*输出表示矩阵的二维数组,按照每一行N个元素的格式输出*/
题目要求打印出1至1000中满足个位数字的立方等于其本身的所有数。
所以需要使用循环遍历1至1000中所有的整数,检查这些整数的个位数字的立方是否等于其本身。
另外,取得整数i的个位数字可以使用取模运算(%)。
例如123%10便得到个位上的数字3。
/*clrscr函数的作用是清屏,清除输出窗口中所有已经显示的内容*/
/*逐一检查1至1000之间的整数是否满足条件*/
/*取得当前检查的整数的个位数字g*/
g=i%10;
/*判断当前检查的整数i是否满足个位数字g的立方等于其本身*/
if(g*g*g==i)
/*输出符合条件的整数i*/
题目要求从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。
为了实现以上要求,程序使用while循环逐个遍历str数组中每一个字符,将这些字符逐个地与指定字符ch比较。
如果相同,则记录该字符下标退出循环。
按照题意需要把这个字符及其后面的所有字符全部删除,所以程序将这个字符后面一个位置设置为字符串结束标记'
即可实现删除后面字符的目的。
/*gets函数的作用是接收键盘输入的字符串,将其放入str数组中*/
/*接收键盘上输入的单个字符放入ch中,作为指定字符*/
/*逐个将str数组中每一个字符与指定字符ch比较*/
/*找到与指定字符ch相同的字符则退出该循环*/
break;
i++;
/*为了删除后面的所有字符,只要在与ch相同的字符后面设置结束标记即可*/
str[i]='
;
/*puts函数的作用是输出str字符串的内容*/
题目要求输出方程组A+B=52,A+2B=60的一组正整数解。
为了实现题目要求,程序使用了最"
笨"
的方法,那就是一个一个数字代入方程组试验,如果某一个数字能够满足方程组则就是解,则输出。
/*将整数一个一个代入方程组进行测试是否符合*/
/*判断当前代入的i、j是否满足方程组,满足则输出解*/
if(i+j==52&
&
i+2*j==60)
i,j);