第一個問題,幾乎所有C語言新手都要犯的錯誤,就是判斷相等要用判斷等號==而不是賦值等號=,把 if (n=1) 改成 if (n==1) 就解決了。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、成都網(wǎng)站設計、成都外貿(mào)網(wǎng)站建設、玉龍網(wǎng)絡推廣、微信小程序開發(fā)、玉龍網(wǎng)絡營銷、玉龍企業(yè)策劃、玉龍品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供玉龍建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
第二個問題,嚴謹應該是沒什么問題,只要結(jié)果不超過 int 類型的上限,都是對的,不過程序可以更簡潔一點, if (n==1) ... else ... 這個條件完全可以不要,只要那個 for 循環(huán)就夠了。
int n,i,j;
printf("請輸入階數(shù)n:\n");
scanf("%d",n);
int a[n][n];這里可能有問題,具體看編譯器,有些編譯器數(shù)據(jù)類型的定義必須放在函數(shù)的一開始,中間不能插入其他語句,還有數(shù)組的維數(shù)只能是常量,要么固定,要么用宏定義確定
有 else 是
只有 n == 0 return jcjg;返回jcjg 否則不確定返回何值(實際返回 eax 寄存器的最后一次值)
沒有 else 任何時候 return jcjg;總是會返回jcjg。
不過沒見過這樣用遞歸的,
像這種簡單計算,正常都是用迭代處理,不用遞歸的;
只有像樹一類的復雜的數(shù)據(jù)結(jié)構(gòu),和排序或更復雜的算法,才用遞歸實現(xiàn).
int jc(int n)
{
if(n != 0)
{
printf("%d-%d\n",jcjg,n);
jcjg = jcjg * n;
//jc(n - 1);改成
return jc(n - 1);看行不行;
}
else
{
return jcjg;
}
}
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
typedef?struct?work
{
char?num[10];
char?name[10];
char?sex[10];
char?age[10];
}STU;
int?main()
{
STU?stu={"1001","12","45","19"};
STU?stu1,stu2;
int?x;
char?ch1[10];
//原代碼char?*ch=ch1;
//原代碼FILE?*f=fopen("D:\letter.txt","w+");
FILE?*f=fopen("D:\\letter.txt","w+");?//要加雙斜杠"\\"
if(f==NULL)
{
printf("\n打開文件出錯.\n");
exit(1);
}
fwrite(stu,sizeof(struct?work),1,f);
rewind(f);????????//將文件指針重新指向開頭
fread(stu1,sizeof(struct?work),1,f);
x=atoi(stu1.num);?//字符串轉(zhuǎn)換為數(shù)字
//原代碼ch=(char)(++x);
x++;??????????????//數(shù)字由1001變?yōu)?002
itoa(x,ch1,?10);??//數(shù)字轉(zhuǎn)換為字符串
strcpy(stu1.num,ch1);
rewind(f);????????//將文件指針重新指向開頭
fwrite(stu1,sizeof(struct?work),1,f);
printf("%s\t%s\t%s\t%s\t",stu1.num,stu1.name,stu1.sex,stu1.age);
fclose(f);????????//最后要關閉文件
return?0;
}
j=t*100
while(j--)
這里的while語句和for語句各起什么作用?
{
是指循環(huán)
j*i
次嗎?
for(i=8505;i;i--);
}
}
//============================================
空跑,也就是延時的作用,
for(i=8505;i;i--);一次全循環(huán)應該是1ms,void
delay(float
t)應該是延時t*100ms
try換掉, 是關鍵字,還有break 也不能在亂用。
樓主應該多看看編程例題,這樣寫很亂,可讀性比較差。如果在開始就養(yǎng)成良好代碼寫作習慣,成為一個優(yōu)秀的程序員不是問題,還有記得寫注釋,很重要。