99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

兩種方法解決口算練習題-創新互聯

文章目錄
  • 口算練習題
    • 題目描述
    • 輸入格式
    • 輸出格式
    • 樣例 #1
      • 樣例輸入 #1
      • 樣例輸出 #1
    • 提示
  • 題解:
  • 大佬的代碼:

創新互聯主要從事網站制作、網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務遼陽,10年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220口算練習題 題目描述

王老師正在教簡單算術運算。細心的王老師收集了i道學生經常做錯的口算題,并且想整理編寫成一份練習。 編排這些題目是一件繁瑣的事情,為此他想用計算機程序來提高工作效率。王老師希望盡量減少輸入的工作量,比如 5+8 \texttt{5+8} 5+8 的算式最好只要輸入 5 \texttt 5 5 和 8 \texttt 8 8,輸出的結果要盡量詳細以方便后期排版的使用,比如對于上述輸入進行處理后輸出 5+8=13 \texttt{5+8=13} 5+8=13 以及該算式的總長度 6 6 6。王老師把這個光榮的任務交給你,請你幫他編程實現以上功能。

輸入格式

第一行為數值 i i i

接著的 i i i 行為需要輸入的算式,每行可能有三個數據或兩個數據。

若該行為三個數據則第一個數據表示運算類型, a \texttt a a 表示加法運算, b \texttt b b 表示減法運算, c \texttt c c 表示乘法運算,接著的兩個數據表示參加運算的運算數。

若該行為兩個數據,則表示本題的運算類型與上一題的運算類型相同,而這兩個數據為運算數。

輸出格式

輸出 2 × i 2\times i 2×i 行。對于每個輸入的算式,輸出完整的運算式及結果,第二行輸出該運算式的總長度

樣例 #1 樣例輸入 #1
4
a 64 46
275 125
c 11 99
b 46 64
樣例輸出 #1
64+46=110
9
275+125=400
11
11*99=1089
10
46-64=-18
9
提示

數據規模與約定

對于 50 % 50\% 50% 的數據,輸入的算式都有三個數據,第一個算式一定有三個數據。

對于所有數據, 0 < i ≤ 50 0


題解:

我將分為四部分求解:

  1. change函數:主要是數字轉化為字符;
void change(int sum){
   int t=0,flag=0;
   if(sum<0){
   flag=1;
   sum=-sum;
   }
   while(sum/10!=0){
   	d[t]=sum%10+'0';
   	sum/=10;
   	t++;
   }
   d[t]=sum+'0';
   t++;
   if(flag){
   	d[t]='-';
   	t++;
   	d[t]='\0';
   }
   else {
   	d[t]='\0';
   }
}
  1. exchange函數:將字符轉化為整數;
void exchange(char *b){
	int k=0;
	b1=0;
	for(int i=strlen(b)-1;i>=0;i--){
		b1+=(b[i]-'0')*pow(10,k);
		k++;
	}
}
  1. compute函數:計算并輸出;
void compute(char *b,char *c,char mark){
	exchange(b);
	int k=b1;
	exchange(c);
	int k1=b1;
	int sum=0;
	if(mark=='a'){
		sum=k+k1;
	}
	else if(mark=='b'){
		sum=k-k1;
	}
	else {
		sum=k*k1;
	}
	change(sum);
	cout<=0;i--){
		printf("%c",d[i]);
	}
	printf("\n");
	cout<
  1. main函數,式子的輸入;
int main(){
	int n;
	cin>>n;
	int t=n;
	char mark;
	while(t--){
	cin>>a;
	if(a[0]<'0'||a[0]>'9'){
		mark=a[0];
		cin>>b;
		cin>>c;
	compute(b,c,mark);	
	}
	else{
		cin>>b;
		compute(a,b,mark);
	}
a[0]='\0';
b[0]='\0';
c[0]='\0';
d[0]='\0';	
}
return 0;
}
#include#include#includeusing namespace std;
char a[100],b[100],c[100],d[100],mark1[4]={"+-*"};
int b1=0;
void change(int sum){int t=0,flag=0;
	if(sum<0){flag=1;
	sum=-sum;
	}
	while(sum/10!=0){d[t]=sum%10+'0';
		sum/=10;
		t++;
	}
	d[t]=sum+'0';
	t++;
	if(flag){d[t]='-';
		t++;
		d[t]='\0';
	}
	else {d[t]='\0';
	}
}
void exchange(char *b){int k=0;
	b1=0;
	for(int i=strlen(b)-1;i>=0;i--){b1+=(b[i]-'0')*pow(10,k);
		k++;
	}
}
void compute(char *b,char *c,char mark){exchange(b);
	int k=b1;
	exchange(c);
	int k1=b1;
	int sum=0;
	if(mark=='a'){sum=k+k1;
	}
	else if(mark=='b'){sum=k-k1;
	}
	else {sum=k*k1;
	}
	change(sum);
	cout<=0;i--){printf("%c",d[i]);
	}
	printf("\n");
	cout<int n;
	cin>>n;
	int t=n;
	char mark;
	while(t--){cin>>a;
	if(a[0]<'0'||a[0]>'9'){mark=a[0];
		cin>>b;
		cin>>c;
	compute(b,c,mark);	
	}
	else{cin>>b;
		compute(a,b,mark);
	}
a[0]='\0';
b[0]='\0';
c[0]='\0';
d[0]='\0';	
}
return 0;
}
大佬的代碼:

同樣他是采用sscanf,sprintf方法將字符轉整數;

#include#include#includeusing namespace std;
int main(){int n;
	char a;
	int c,d;
	char b[100],s[100];
	cin>>n;
	for(int i=0;icin>>b;
	if(b[0]<'0'||b[0]>'9'){a=b[0];
		cin>>c>>d;
	}	
	else{sscanf(b,"%d",&c);//將b轉化為c的int型;
		cin>>d; 
	}
	memset(s,0,sizeof(s));
	if(a=='a'){sprintf(s,"%d+%d=%d",c,d,c+d);
	}
	else if(a=='b'){sprintf(s,"%d-%d=%d",c,d,c-d);
	}
	else{sprintf(s,"%d*%d=%d",c,d,c*d);
	}
	cout<

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

名稱欄目:兩種方法解決口算練習題-創新互聯
網頁URL:http://www.yijiale78.com/article8/pccop.html

成都網站建設公司_創新互聯,為您提供移動網站建設動態網站定制網站云服務器自適應網站網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯