c语言写的小程序无法正确执行
\u4e3a\u4ec0\u4e48C\u8bed\u8a00\u7a0b\u5e8f\u7f16\u8bd1\u6b63\u786e\u4f46\u4e0d\u80fd\u6267\u884c\uff1f\u8fd9\u5f53\u7136\u539f\u56e0\u975e\u5e38\u591a\uff0c\u6bd4\u5982\uff1a\u7f16\u8bd1\u5668\u7f16\u8bd1\u4e0d\u591f\u4e25\u683c\u3001\u7a0b\u5e8f\u6709\u5f88\u5927\u7684\u98ce\u9669\u7b49\u7b49\uff0c\u6700\u7b80\u5355\u7684\u4e00\u4e2a\u4f8b\u5b50\u5982\u4e0b\uff1a
int a; scanf("%d",a);\u53ef\u4ee5\u786e\u5b9a\u7684\u4e00\u70b9\u662f\uff1a\u4e00\u65e6\u5728\u8fd0\u884c\u4e2d\u51fa\u73b0\u9519\u8bef\uff0c\u5927\u591a\u662f\u8f83\u4e3a\u4e25\u91cd\u7684\u9519\u8bef\uff0c\u987b\u5f15\u8d77\u91cd\u89c6\uff0c\u5426\u5219\uff0c\u4e00\u65e6\u9519\u8bef\u975e\u5e38\u4e25\u91cd\uff0c\u5fc5\u4f1a\u5bfc\u81f4\u8bb8\u591a\u4e25\u91cd\u7684\u540e\u679c\uff0c\u5982\u6b7b\u673a\u3001\u5361\u5c4f\u751a\u81f3\u76f4\u63a5\u5bfc\u81f4\u84dd\u5c4f\u3002
\u7528\u6237\u6743\u9650\u4e0d\u8db3\uff0c\u5bf9\u7f16\u8bd1\u597d\u7684\u90a3\u4e2a\u7a0b\u5e8f\u5904\u7406\u4e00\u4e0b\u3002chmod 777 Untitled123
\u7136\u540e\u518d\u6267\u884c\u3002
代码我运行过了 主要有3个问题:
1. double get_arr(double target[][5],int row)函数只接受数据,不返回任何数据,应改为
void get_arr(double target[][5],int row)。
2.void get_arr(double target[][5],int row)函数中获取数据的语句scanf("%lf",target[i][j]);
应该为scanf("%lf",&target[i][j]); 你缺少取址操作符。
3,.double average(const double arr[],int n)和double all_average(const double arr[][5],int row)中的total未初始化,这是十分危险的。也许你的编译器会将它默认值置为0.0,但不能保证其他平台也会将其初值置为0.0。
修改后代码如下:
#include<stdio.h>
#define ROW 3
void get_arr(double target[][5],int row);//让用户输入一个row*5的二维数组
double average(const double arr[],int n);//返回一个一维数组的平均值(调用的时候n为5,被调用的是二维数组中的某一维)
double all_average(const double arr[][5],int row);//返回一个row*5二维数组的所以数的评价值
double max(const double arr[][5],int row);//返回一个row*5二维数组的最大值
void show_arr(const double arr[][5],int row);//显示一个row*5二维数组
int main()
{
int i;
double arr[3][5];
get_arr(arr,3);
show_arr(arr,3);
for(i=0;i<ROW;i++)
printf("Average of %d row is %.2lf
",i+1,average(arr[i],5));
printf("Average of all rows is %.2lf
",all_average(arr,3));
printf("The max number is %.2lf
",max(arr,3));
printf("Done
");
return 0;
}
//让用户输入一个row*5的二维数组
void get_arr(double target[][5],int row)
{
int i,j;
printf("Please enter 3*5 numbers:");
for(i=0;i<row;i++)
{
for(j=0;j<5;j++)
scanf("%lf",&target[i][j]);
}
}
//返回一个一维数组的平均值(调用的时候n为5,被调用的是二维数组中的某一维)
double average(const double arr[],int n)
{
double total=0.0;
int i;
for(i=0;i<n;i++)
total+=arr[i];
return total/n;
}
//返回一个row*5二维数组的所以数的评价值
double all_average(const double arr[][5],int row)
{
double total=0.0 ;
int i,j;
for(i=0;i<row;i++)
for(j=0;j<5;j++)
total+=arr[i][j];
return total/(row*5);
}
//返回一个row*5二维数组的最大值
double max(const double arr[][5],int row)
{
double max=arr[0][0];
int i,j;
for(i=0;i<row;i++)
for(j=0;j<5;j++)
{
if(arr[i][j]>max)
max=arr[i][j];
}
return max;
}
//显示一个row*5二维数组
void show_arr(const double arr[][5],int row)
{
int i,j;
for(i=0;i<row;i++)
{
for(j=0;j<5;j++)
printf("%6.2lf",arr[i][j]);
printf("
");
}
}
我的运行结果
绛旓細scanf閲岃竟涓嶈兘鍚湁闄ゆ牸寮忎箣澶栫殑涓滆タ锛屽儚浣犺繖閲屾湁The th level.鏄笉琛岀殑銆傛妸scanf杩欎竴鍙ユ敼涓 scanf("%d",&n);濡傛灉瑕佹樉绀鸿緭鍏ョ殑n鐨勫灏戯紝灏卞啀鍔犱竴鍙 printf("The %dth level.\n",n);
绛旓細鏀规垚int main ()锛岄噷闈㈢殑void鍘绘帀锛屾渶鍚庡姞return 0锛屽鏋滆繕涓嶈锛屽氨鍐嶆妸scanf鏀规垚scanf_s
绛旓細include<stdio.h>#define M 11int main(){int i,j,n,r;int a[32]; // <--- a[] 搴斿0鏄庝负 int 鍨 float f[32],sum1=0,sum=0;// <--- sum1, sum 璧嬪垵鍊糵or(i=1;i<=31;i++) //a銆0銆戯紝f銆0銆戜笉浣跨敤{a[i]=i;}for(i=1;i<=31;i++){printf("璇疯緭鍏%d...
绛旓細浣犲彉閲忎娇鐢ㄥ墠娌℃湁璧嬪硷紝涔熸病鏈夊垵濮嬪寲銆傛暣鍨嬪彉閲忔病鏈夊垵鍊间篃涓嶈祴鍊硷紝杩欐牱浼氭槸涓涓殢鏈哄笺傝繖鏄笉鍏佽鐨勩傝涓竴涓垵鍊兼瘮濡俰nt number=0锛涙垨鑰呭湪涔嬪悗璧嬪 number=0锛
绛旓細鎴戠煡閬撴湁涓涓汉鍐欎簡涓浜涙枃绔犵劧鍚庢湁浜烘暣鐞嗕簡涓嬫潵銆備粬鍐欑殑涓滆タ閮芥槸浠g爜锛 鑰屼笖鏄潪甯歌缁嗙殑娉ㄩ噴閭g鐨勩傝繖涓汉鍙瀹 浣犲彲浠ュ埌缃戜笂鎼滄悳銆傛垜杩欓噷鏈夌粰浣犺创鍑烘潵涓鐐癸紝浣犲彲浠ョ湅鐪嬫槸鍚﹀悎浣犵殑鎰忥細鍦c/c++涓埄鐢ㄦ暟缁勫悕浣滀负鍑芥暟鍙傛暟浼犻掓帓搴忓拰鐢ㄦ寚閽堣繘琛屾帓搴忕殑渚嬪瓙銆備互涓嬩袱涓緥瀛愯闈炲父娉ㄦ剰锛屽嚱鏁颁紶閫掔殑涓嶆槸鏁扮粍涓...
绛旓細杩欎釜浠呬粎鏄鍛婏紝 鍘熷洜搴旇鏄綘娌℃湁鍖呭惈瀹氫箟exit鐨勫ご鏂囦欢锛堝簲璇ユ槸stdlib.h锛
绛旓細鎴戣涓烘槸浠g爜鐨勯棶棰樸傛垜鐢ㄧ殑涔熸槸vc6锛屼腑鏂囩豢鑹茬増锛學in7锛64浣嶇殑绯荤粺銆備粠鏉ユ病鍑虹幇鐢变簬杞欢涓嶅吋瀹瑰鑷寸▼搴忓仠姝㈣繍琛岀殑闂銆傜敤璇C6.0缂栬繃灏忕▼搴锛屼篃缂栬繃涓涓▼搴忓嚑鍗冭鐨勪唬鐮侊紝鏈夊嚭鐜拌繃鏌愭煇.exe宸插仠姝㈠伐浣滅殑闂銆備粠鏉ラ兘鏄唬鐮佺殑闂銆傛湁鍙兘鏄鍐欎簡闈炴硶鍐呭瓨銆傛湁鍙兘鏄帶浠讹紙姣斿绐楀彛涔嬬被鐨勶級锛屼俊鍙...
绛旓細for(i=1;i=n;i++) //i=n 鎭掔湡 for(i=1;i==n;i++) //濡傛灉鏀规垚杩欐牱锛岄偅涔堝唴寰幆鍙垚鍔熻繍琛屼竴娆,褰撲笖浠呭綋n==1鏃躲俰nclude <stdio.h> main(){ int n,i;for(n=1;n<=7;n=n+2){ printf("*");for(i=1;i<=n;i++){ if(i<n)printf("*");else printf("\n");...
绛旓細int i,b[50],sum=0,count=0;鏀规垚 int i=0,b[50],sum=0,count=0;鍗冲彲銆傚皬灏忕瑪璇紝i鏈垵濮嬪寲涓0
绛旓細搴旇鏄4*a*c 鍏朵粬閮藉簲璇ユ槸鑻辨枃鐘舵佷笅鐨勭鍙锋垨鏄皯浜嗘嫭鍙疯繕鏈#include 搴旇窡#鍦ㄤ竴璧 缁欎綘涓涓嬫垜鏀瑰ソ鐨 include<stdio.h> include<math.h> int main(void){ int a = 1;int b = 2;int c = 3;float delta;float x1;float x2;delta = b*b - 4*a*c; /// if (delta > 0){ x1...