用C语言编写一个小程序,要求从1+2+3+……+10000,然后把结果输出.

用C语言编写一个小程序,要求从1+2+3+……+10000,然后把结果输出.,第1张

你确定是到10000吗?16bit的整数会溢出的,32bit绝对没问题的

那可以根据公式来实现1+2+3+……+10000 = 10000(1+10000)/2

所以

#include <stdioh>

int main()

{

int n = 10000;

int sum = 0;

sum = (n+1)n/2;

printf("%d\n",sum);

return 0;

}

/money management system/

#include "stdioh"

#include "dosh"

#include "conioh"

main()

{

FILE fp;

struct date d;

float sum,chm=00;

int len,i,j=0;

int c;

char ch[4]="",ch1[16]="",chtime[12]="",chshop[16],chmoney[8];

pp:

clrscr();

sum=00;

gotoxy(1,1);printf("|---------------------------------------------------------------------------|");

gotoxy(1,2);printf("| money management system(C10) 200003 |");

gotoxy(1,3);printf("|---------------------------------------------------------------------------|");

gotoxy(1,4);printf("| -- money records -- | -- today cost list -- |");

gotoxy(1,5);printf("| ------------------------ |-------------------------------------|");

gotoxy(1,6);printf("| date: -------------- | |");

gotoxy(1,7);printf("| | | | |");

gotoxy(1,8);printf("| -------------- | |");

gotoxy(1,9);printf("| thgs: ------------------ | |");

gotoxy(1,10);printf("| | | | |");

gotoxy(1,11);printf("| ------------------ | |");

gotoxy(1,12);printf("| cost: ---------- | |");

gotoxy(1,13);printf("| | | | |");

gotoxy(1,14);printf("| ---------- | |");

gotoxy(1,15);printf("| | |");

gotoxy(1,16);printf("| | |");

gotoxy(1,17);printf("| | |");

gotoxy(1,18);printf("| | |");

gotoxy(1,19);printf("| | |");

gotoxy(1,20);printf("| | |");

gotoxy(1,21);printf("| | |");

gotoxy(1,22);printf("| | |");

gotoxy(1,23);printf("|---------------------------------------------------------------------------|");

i=0;

getdate(&d);

sprintf(chtime,"%4d%02d%02d",dda_year,dda_mon,dda_day);

for(;;)

{

gotoxy(3,24);printf(" Tab __browse cost list Esc __quit");

gotoxy(13,10);printf(" ");

gotoxy(13,13);printf(" ");

gotoxy(13,7);printf("%s",chtime);

j=18;

ch[0]=getch();

if(ch[0]==27)

break;

strcpy(chshop,"");

strcpy(chmoney,"");

if(ch[0]==9)

{

mm:

i=0;

fp=fopen("homedat","r+");

gotoxy(3,24);printf(" ");

gotoxy(6,4);printf(" list records ");

gotoxy(1,5);printf("|-------------------------------------|");

gotoxy(41,4);printf(" ");

gotoxy(41,5);printf(" |");

while(fscanf(fp,"%10s%14s%f\n",chtime,chshop,&chm)!=EOF)

{

if(i==36)

{

getch();

i=0;

}

if((i%36)<17)

{

gotoxy(4,6+i);

printf(" ");

gotoxy(4,6+i);

}

else

if((i%36)>16)

{

gotoxy(41,4+i-17);

printf(" ");

gotoxy(42,4+i-17);

}

i++;

sum=sum+chm;

printf("%10s %-14s %61f\n",chtime,chshop,chm);

}

gotoxy(1,23);printf("|---------------------------------------------------------------------------|");

gotoxy(1,24);printf("| |");

gotoxy(1,25);printf("|---------------------------------------------------------------------------|");

gotoxy(10,24);printf("total is %81f$",sum);

fclose(fp);

gotoxy(49,24);printf("press any key to");getch();goto pp;

}

else

{

while(ch[0]!='\r')

{

if(j<10)

{

strncat(chtime,ch,1);

j++;

}

if(ch[0]==8)

{

len=strlen(chtime)-1;

if(j>15)

{len=len+1; j=11;}

strcpy(ch1,"");

j=j-2;

strncat(ch1,chtime,len);

strcpy(chtime,"");

strncat(chtime,ch1,len-1);

gotoxy(13,7);printf(" ");

}

gotoxy(13,7);printf("%s",chtime);ch[0]=getch();

if(ch[0]==9)

goto mm;

if(ch[0]==27)

exit(1);

}

gotoxy(3,24);printf(" ");

gotoxy(13,10);

j=0;

ch[0]=getch();

while(ch[0]!='\r')

{

if (j<14)

{

strncat(chshop,ch,1);

j++;

}

if(ch[0]==8)

{

len=strlen(chshop)-1;

strcpy(ch1,"");

j=j-2;

strncat(ch1,chshop,len);

strcpy(chshop,"");

strncat(chshop,ch1,len-1);

gotoxy(13,10);printf(" ");

}

gotoxy(13,10);printf("%s",chshop);ch[0]=getch();

}

gotoxy(13,13);

j=0;

ch[0]=getch();

while(ch[0]!='\r')

{

if (j<6)

{

strncat(chmoney,ch,1);

j++;

}

if(ch[0]==8)

{

len=strlen(chmoney)-1;

strcpy(ch1,"");

j=j-2;

strncat(ch1,chmoney,len);

strcpy(chmoney,"");

strncat(chmoney,ch1,len-1);

gotoxy(13,13);printf(" ");

}

gotoxy(13,13);printf("%s",chmoney);ch[0]=getch();

}

if((strlen(chshop)==0)||(strlen(chmoney)==0))

continue;

if((fp=fopen("homedat","a+"))!=NULL);

fprintf(fp,"%10s%14s%6s",chtime,chshop,chmoney);

fputc('\n',fp);

fclose(fp);

i++;

gotoxy(41,5+i);

printf("%10s %-14s %-6s",chtime,chshop,chmoney);

}

}

getch();

}

/

程序功能:实现输入一个算式,然后按照同等优先级进行计算最终输出结果

/

#include <stdioh>

int calculate(int a, int b, char s) //计算函数,给定两个整数和运算符,返回结果

{

int c;

switch (s)

{

case '+' : c = a + b; break;

case '-' : c = a - b; break;

case '' : c = a b; break;

case '/' : c = a / b; break;

}

return c;

}

int string2int(char p) //转换函数,把下一个数字从字符串转化为整型

{

int a = 0;

while(1)

{

if(p=='+' || p=='-' || p=='' || p=='/' || p=='\0') break;

a = a10+((int)(p) - 48);

//将一个表示数字的字符变为整型,再减去48,就是对应的整型数值

p++;

}

return a;

}

void main()

{

char s[100];

int n1, n2,i=0;

printf("请输入算式:");

scanf("%s", s); //目前这里只能输入正整数,不能输入负的

n1 = string2int(s); //得到左 *** 作数

for(i=0;s[i]!='\0';i++) //循环下去,直到算式结束

{

if(s[i]=='+' || s[i]=='-' || s[i]=='' || s[i]=='/')//如果遇到运算符就进行计算

{

n2 = string2int(&s[i+1]); //得到右运算数

n1 = calculate(n1,n2,s[i]); //运算

}

}

printf("算式的答案是:%d\n", n1);

}

验证了1+210-10/2这个式子,结果为10。如果有疑问,还可以继续讨论。

/我用c++做一下,你可以把输入输出自己转化一下/

#include<iostreamh>

#define MaxSize 100

int data[MaxSize][MaxSize];

void func(char str[],int n)// str 是字符串,n是串长度

{

int i,j;

i=0;

for(i=0;i<n;i++)

{

j=0;

while(str[j]!='\0')

{

data[i][j]=(int)(str[(j+i)%n]-0x30);

j++;

}

}

}

void main()

{

char str[]="123";

/也可以自己输入串并检测串长度,这只是个测试程序/

int n=3;

func(str,3);

for(int i=0;i<n;i++)

{

int j=0;

while(j!=n)

{

cout<<data[i][j]<<' ';

j++;

}

cout<<endl;

}

}

以上就是关于用C语言编写一个小程序,要求从1+2+3+……+10000,然后把结果输出.全部的内容,包括:用C语言编写一个小程序,要求从1+2+3+……+10000,然后把结果输出.、用C语言写一个小程序!、C语言小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9513194.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存