c语言图片合并 代码,帮个忙,合并代码
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
合并后的代碼
#include
#include"windows.h"
#include "math.h"
#include "string.h"
#define N 32
double z;
int main()
{
char num1; //用于存放選擇的菜單選項(xiàng)
printf(" 菜單\n"); //先顯示菜單
printf("a.算術(shù)運(yùn)算\n");
printf("b.進(jìn)制轉(zhuǎn)換\n");
printf("c.清屏重做\n");
printf("r.返回菜單\n");
printf("t.退出程序\n");
while(1)
{
printf("\nplease chose one letter from \"a,b,c,r,and t\"\n");
scanf("%c",&num1); //輸入一個(gè)數(shù)用于判斷是選擇了哪一個(gè)菜單項(xiàng)
if(num1=='a') //選擇了做算術(shù)運(yùn)算
suanshuyunsuan();
if(num1=='b') //選擇了進(jìn)制轉(zhuǎn)換
jinzhizhuanhuan();
if(num1=='c') //清屏
qingping();
if(num1=='r') //顯示菜單
fanhuicaidan();
if(num1=='t') //退出程序
break;
}
}
//做算術(shù)運(yùn)算時(shí)調(diào)用的函數(shù)
float suanshuyunsuan()
{
char fh,hh1,hh2; //hh1與hh2是用來存放回車字符的
double num1,num2;
printf("輸入算術(shù)表達(dá)式(例如:1+1):");
scanf("%lf%c%lf",&num1,&fh,&num2);
switch(fh) //判斷是做什么運(yùn)算
{
case '+':z=num1+num2;break;
case '-':z=num1-num2;break;
case '*':z=num1*num2;break;
case '/':z=num1/num2;break;
}
printf("結(jié)果:=");
printf("%.2lf\n",z);
}
//清除屏幕
float qingping()
{
system("cls");
}
//顯示菜單
float fanhuicaidan()
{
printf(" 菜單\n");
printf("a.算術(shù)運(yùn)算\n");
printf("b.進(jìn)制轉(zhuǎn)換\n");
printf("c.清屏重做\n");
printf("r.返回菜單\n");
printf("t.退出程序\n");
}
int pow1(int a,int b) /*次函數(shù)的功能類似有math.h中的pow,但本函數(shù)返回的是整數(shù)*/
{ int c;
if(b==0) return 1;
if(b>0) c=a*pow1(a,b-1);
return c;
}
void f(int sum,int c,char *p,int i)/*此函數(shù)用來確定轉(zhuǎn)換后的數(shù)字的各個(gè)位數(shù)上的數(shù)*/
{ int j,n;
for(n=i;n>=0;n--)
for(j=0;j
if(sum=(pow1(c,n)*j)) { *(p+i-n)=j,sum=sum-pow1(c,n)*j;break;}
*(p+i+1)=0;
}
int w(int sum,int c)/*此函數(shù)用來判斷轉(zhuǎn)換后的數(shù)字有幾位(i+1)*/
{int i;
for(i=0; ;i++)
{
if((sum=pow1(c,i))) break;
}
return i;
}
float jinzhizhuanhuan()
{int a,c,i,sum,j,k,l,flag;
char b[N]={0},h[32]={0};
for(;;)
{sum=0;flag=0;
printf("***************************************************\n");
for(;;)
{ flag=0;
printf("\n 請(qǐng)輸入你所要轉(zhuǎn)換的整數(shù)(輸入0退出):");
scanf("%s",b);
l=strlen(b);
if(!strcmp(b,"0")) break;
for(i=0;b[i]!=0;i++) /*由于輸入的是字符,所以用以下轉(zhuǎn)換*/
{ if(b[i]>='0'&&b[i]<='9')
b[i]-='0';
if(b[i]>='a'&&b[i]<='z')
b[i]=b[i]-'a'+10;
if(b[i]>='A'&&b[i]<='Z')
b[i]=b[i]-'A'+10;
}
for(;;)
{ printf("\n 你所輸入的數(shù)的進(jìn)制為(2到32):");
scanf("%d",&a);
if(a<2||a>32)
{
printf("\n 您的輸入有誤,請(qǐng)重新輸入!\n");
continue;
}
break;
}
for(i=0;i
if(b[i]>=a)
{
printf("\n 您的輸入有誤,請(qǐng)重新輸入!\n");
flag=1;
break;
}
if(flag==1) continue;
break;
}
if(!strcmp(b,"0")) break;
for(;;)
{
printf("\n請(qǐng)輸入你要把該數(shù)轉(zhuǎn)換為的進(jìn)制(2到32):");
scanf("%d",&c);
if(c<2||c>32)
{
printf("\n 您的輸入有誤,請(qǐng)重新輸入!\n");
continue;
}
break;
}
for(j=0;j
sum=sum+pow1(a,j)*b[l-j-1]; /*把輸入的數(shù)字轉(zhuǎn)換為十進(jìn)制數(shù)*/
if(c==10)
{
printf("\n 把該數(shù)字從%d進(jìn)制轉(zhuǎn)化到%d 進(jìn)制為:%d\n",a,c,sum);
continue;
}
i=w(sum,c); /*判斷最高位*/
f(sum,c,h,i);
for(k=i;k>=0;k--) /*以下轉(zhuǎn)換是把相應(yīng)的數(shù)字轉(zhuǎn)換為字符*/
{
if(h[k]>=0&&h[k]<=9)
{h[k]=h[k]+'0';continue;}
if(h[k]>=10&&h[k]<=35)
{h[k]=h[k]+55;continue;}
}
printf("\n 把該數(shù)字從%d進(jìn)制轉(zhuǎn)化到%d 進(jìn)制為:",a,c);puts(h);
}
}
總結(jié)
以上是生活随笔為你收集整理的c语言图片合并 代码,帮个忙,合并代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言 字符串数组末尾,C语言中,利用宏
- 下一篇: c语言通讯录写入文件,学C三个月了,学了