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("
");

    }

}

我的运行结果



  • kali linux鐨刧cc缂栬瘧瀹岀殑C璇█灏忕▼搴,涓轰粈涔鎵ц鍚庢樉绀烘閿欒?姹傚悇浣...
    绛旓細scanf閲岃竟涓嶈兘鍚湁闄ゆ牸寮忎箣澶栫殑涓滆タ锛屽儚浣犺繖閲屾湁The th level.鏄笉琛岀殑銆傛妸scanf杩欎竴鍙ユ敼涓 scanf("%d",&n);濡傛灉瑕佹樉绀鸿緭鍏ョ殑n鐨勫灏戯紝灏卞啀鍔犱竴鍙 printf("The %dth level.\n",n);
  • ...visualstudio2012涓姤鍛婇敊璇涓嶈兘鎵ц鍟婃眰瑙
    绛旓細鏀规垚int main ()锛岄噷闈㈢殑void鍘绘帀锛屾渶鍚庡姞return 0锛屽鏋滆繕涓嶈锛屽氨鍐嶆妸scanf鏀规垚scanf_s
  • c璇█灏忕▼搴忔墽琛鏃舵墍閬囧埌鐨勫皬闂
    绛旓細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...
  • 鎴戠敤VS2019鍐欑殑涓涓灏忕▼搴,涓轰粈涔鏃犳硶杩愯,姹C璇█澶т浆甯姪
    绛旓細浣犲彉閲忎娇鐢ㄥ墠娌℃湁璧嬪硷紝涔熸病鏈夊垵濮嬪寲銆傛暣鍨嬪彉閲忔病鏈夊垵鍊间篃涓嶈祴鍊硷紝杩欐牱浼氭槸涓涓殢鏈哄笺傝繖鏄笉鍏佽鐨勩傝涓竴涓垵鍊兼瘮濡俰nt number=0锛涙垨鑰呭湪涔嬪悗璧嬪 number=0锛
  • 鍏充簬C璇█鎸囬拡鏁扮粍浣跨敤鐨勫皬绋嬪簭,鍦╒C++6.0涓婄紪璇戦氳繃,杩愯閿欒,瓒婂揩瓒 ...
    绛旓細鎴戠煡閬撴湁涓涓汉鍐欎簡涓浜涙枃绔犵劧鍚庢湁浜烘暣鐞嗕簡涓嬫潵銆備粬鍐欑殑涓滆タ閮芥槸浠g爜锛 鑰屼笖鏄潪甯歌缁嗙殑娉ㄩ噴閭g鐨勩傝繖涓汉鍙瀹 浣犲彲浠ュ埌缃戜笂鎼滄悳銆傛垜杩欓噷鏈夌粰浣犺创鍑烘潵涓鐐癸紝浣犲彲浠ョ湅鐪嬫槸鍚﹀悎浣犵殑鎰忥細鍦c/c++涓埄鐢ㄦ暟缁勫悕浣滀负鍑芥暟鍙傛暟浼犻掓帓搴忓拰鐢ㄦ寚閽堣繘琛屾帓搴忕殑渚嬪瓙銆備互涓嬩袱涓緥瀛愯闈炲父娉ㄦ剰锛屽嚱鏁颁紶閫掔殑涓嶆槸鏁扮粍涓...
  • 璇烽棶涓轰粈涔堝湪涓娈靛湪灏忕孩甯戒笂鍐欑殑c璇█鐨勫皬绋嬪簭鍦╱buntu涓婅繍琛屼細鏈夐棶...
    绛旓細杩欎釜浠呬粎鏄鍛婏紝 鍘熷洜搴旇鏄綘娌℃湁鍖呭惈瀹氫箟exit鐨勫ご鏂囦欢锛堝簲璇ユ槸stdlib.h锛
  • 鐢╲isualc++鍐c璇█绋嬪簭,缂栬瘧閫氳繃,鎵ц鏃惰蒋浠跺仠姝㈠伐浣,涓轰粈涔坃鐧惧害鐭...
    绛旓細鎴戣涓烘槸浠g爜鐨勯棶棰樸傛垜鐢ㄧ殑涔熸槸vc6锛屼腑鏂囩豢鑹茬増锛學in7锛64浣嶇殑绯荤粺銆備粠鏉ユ病鍑虹幇鐢变簬杞欢涓嶅吋瀹瑰鑷寸▼搴忓仠姝㈣繍琛岀殑闂銆傜敤璇C6.0缂栬繃灏忕▼搴锛屼篃缂栬繃涓涓▼搴忓嚑鍗冭鐨勪唬鐮侊紝鏈夊嚭鐜拌繃鏌愭煇.exe宸插仠姝㈠伐浣滅殑闂銆備粠鏉ラ兘鏄唬鐮佺殑闂銆傛湁鍙兘鏄鍐欎簡闈炴硶鍐呭瓨銆傛湁鍙兘鏄帶浠讹紙姣斿绐楀彛涔嬬被鐨勶級锛屼俊鍙...
  • c璇█灏忕▼搴涓嶈繍琛
    绛旓細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");...
  • 涓涓C璇█鐨勫皬绋嬪簭绋嬪簭,甯垜鐪嬬湅閿欏摢浜,杩愯鍚,杈撳叆瀹屾垜瑕佺殑鏁板瓧,鎸...
    绛旓細int i,b[50],sum=0,count=0;鏀规垚 int i=0,b[50],sum=0,count=0;鍗冲彲銆傚皬灏忕瑪璇紝i鏈垵濮嬪寲涓0
  • 鎴戞槸C璇█鐨鍒濆鑰,缂栧啓浜嗕竴涓竴鍏冧簩娆℃柟绋鐨勫皬绋嬪簭,鍙槸鎬绘槸鎻愮ず鍑洪敊...
    绛旓細搴旇鏄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...
  • 扩展阅读:c++入门程序代码 ... c++编程 ... c++和python先学哪个 ... c语言怎么多次执行 ... 十大编程语言排名 ... 执行立案流程 ... 少儿编程是学些什么东西 ... c语言从什么开始执行 ... c语言必背100代码 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网