仔細閱讀題目和程序后可以知道k是連乘的結果,但k未賦初值,應該給k賦值1。因此將long k;改為long k=1;或long k;k=1;第2處錯誤為/=被誤寫成\=,因此應該改為:num/=10。
三、編程題
程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun(int a[][N], int n),函數(shù)的功能是:使N×N的二維數(shù)組左下三角元素中的值乘以n。
例如:若n的值為3,a數(shù)組中的值為:
1 9 7
2 3 8
4 5 6
則返回主程序后a數(shù)組中的值應為:
3 9 7
6 9 8
12 15 18
注意:部分源程序已給出。請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
#include <stdio.h>
#include <stdlib.h>
#define N 5
int fun(int a[][N],int n)
{
}
main()
{
int a[N][N],n,i,j;
printf("***The array***\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
a[i][j]=rand()%10;
printf( "%4d", a[i][j] );}
printf("\n");
}
do n=rand()%10; while(n>=3);
printf("n=%4d\n",n);
fun(a,n);
printf ("***THE RESULT***\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
【答案及解析】
相關推薦:計算機二級C技巧:VC6.0控制鼠標反方向移動北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |