隨機生成10個關于100以內(nèi)整數(shù)的算術(shù)表達式,先寫進文件中,然后再讀取出來,進行計算,再把表達式寫回去,代碼如下:
#define _CRT_SECURE_NO_WARNINGS
#include#include#include#include#define FILE_PATH "a.txt"
FILE* open(char* str)
{FILE* fp = fopen(FILE_PATH, str);
if (NULL == fp)
{perror("open");
return -1;
}
return fp;
}
void get_data()
{srand(time(NULL));
int a;
int b;
int k;
char operation[] = {'+', '-', '*', '/' };
char buf[32];
FILE* fp = open("w");
for (int i = 0; i< 10; i++)
{a = rand() % 100 + 1;
b = rand() % 100 + 1;
k = rand() % 4;
sprintf(buf, "%d%c%d=\n", a, operation[k], b);
fputs(buf, fp);
}
fclose(fp);
}
char * compute(char *buf)
{int a;
int b;
char k;
int r;
sscanf(buf, "%d%c%d", &a, &k, &b);
switch (k)
{case '+':r = a + b; break;
case '-':r = a - b; break;
case '/':r = a / b; break;
case '*':r = a * b; break;
}
sprintf(buf, "%d%c%d=%d\n", a, k, b, r);
return buf;
}
void write_data()
{char buf[32*10];
int len = 0;
char * p = buf;
FILE* fp = open("r");
while (1)
{p = fgets(p, 32, fp);
if (NULL == p)
break;
p = compute(p);
p += strlen(p); //字符指針后移
}
fclose(fp);
//printf("%s", buf);
fp = open("w");
for (int i = 0; i< strlen(buf); i++) //逐個字符寫入
{fputc(buf[i], fp);
}
fclose(fp);
}
int main() {get_data();
write_data();
return 0;
}
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享標題:C語言綜合練習3:文本四則運算-創(chuàng)新互聯(lián)
本文鏈接:http://www.chinadenli.net/article28/dgepjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、定制開發(fā)、網(wǎng)站排名、網(wǎng)站制作、App開發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容