请大师修改一C语言程序

供稿:hz-xin.com     日期:2025-01-12
请大师修改一C语言程序

感觉你写复杂了,给你个短一点的作参考……
#include "stdio.h"
void main(void){
char a[10],b[10],k,lna,lnb,*p,*ps;
int n1=1,n2=2;
while(n1 || n2){
printf("Type an integer...
a=");
scanf("%d",&n1);
lna=strlen(itoa(n1,a,10));
printf("Type an another...
b=");
scanf("%d",&n2);
lnb=strlen(itoa(n2,b,10));
if(lna>lnb){
p=a+lna-1;
for(;lnb;a[--lna]+=b[--lnb]-'0');
ps=a;
}
else{
p=b+lnb-1;
for(;lna;b[--lnb]+=a[--lna]-'0');
ps=b;
}
for(k=0;p>ps;p--)
if(*p>'9'){
*p-=10;
(*(p-1))++;
k++;
}
if(*p>'9') k++;
if(n1 || n2)
printf("%d+%d=%d, The total of %d times carry operation.
",n1,n2,n1+n2,k);
}
}


程序改好了,看后面的注释部分,有问题再问:
#includeint main(){int i,j,a[10],n[100]={0}; // int 后面加个空格 printf("请输入10个数:"); for(i=0;i0) printf("分数为%d有%d人。
", j,n[j]); //第一个参数直接显示循环的 i printf("
"); return 0; //return 后面加个空格 }

#include <stdio.h>
#include <stdlib.h>

unsigned int func(unsigned int a, unsigned int b){
int ret = 0;
unsigned int jinwei = 0;
while(a>0 && b>0) {
jinwei += (a%10 + b%10);
if(jinwei >= 10) {
jinwei = 1;
++ret;

else {
jinwei = 0;
}
a /= 10;
b /= 10;
}

return ret;
}

typedef struct _list{
unsigned int a;
unsigned int b;
unsigned int ret;
struct _list * next;
}list;

int main() {
unsigned int a, b;
list * header = NULL;
list *p, *q;
while(1) {
scanf("%d%d", &a, &b);
if(a==0 && b==0) {
break;
}
list *p = (list *)malloc(sizeof(list));
p->a = a;
p->b = b;
p->ret = 0;
p->next = NULL;
if(header == NULL) {
header = p;
q = header;
}
else {
q->next = p;
q = q->next;
}
}
while(header != NULL) {
header->ret = func(header->a, header->b);
printf("%d
", header->ret);
p = header;
header = header->next;
free(p);
}

return 0;
}
/*
123 456
555 666
123 594
4545436 6585635475
0 0
*/



感觉你写复杂了,给你个短一点的作参考……
#include "stdio.h"
void main(void){
char a[10],b[10],k,lna,lnb,*p,*ps;
int n1=1,n2=2;
while(n1 || n2){
printf("Type an integer...\na=");
scanf("%d",&n1);
lna=strlen(itoa(n1,a,10));
printf("Type an another...\nb=");
scanf("%d",&n2);
lnb=strlen(itoa(n2,b,10));
if(lna>lnb){
p=a+lna-1;
for(;lnb;a[--lna]+=b[--lnb]-'0');
ps=a;
}
else{
p=b+lnb-1;
for(;lna;b[--lnb]+=a[--lna]-'0');
ps=b;
}
for(k=0;p>ps;p--)
if(*p>'9'){
*p-=10;
(*(p-1))++;
k++;
}
if(*p>'9') k++;
if(n1 || n2)
printf("%d+%d=%d, The total of %d times carry operation.\n",n1,n2,n1+n2,k);
}
}

#include<stdio.h>   
int fun(int m,int n)    
 /*调用fun函数*/
{
 int p,m1,n1;
 int b=0;
 for (p=0,m1=m,n1=n;m1*n1;m1/=10,n1/=10)
  if (m1%10+n1%10+b>9){b=1;p++;}
  else b=0;
 return p;
}
struct num
{
 int p;
 num *next;
};
int main()
{    
 int m,n;
 num *head,*temp1,*temp2;
 temp1=head=new num;
 while (1)
 {
  printf("请输入n对数(以0 0结束):
");   
  while (1)
  { 
   scanf("%d%d",&m,&n);
   if (m==0&&n==0)
   {
    printf("需要进行加法进位数是:");
    for (temp1=head->next ;temp1!=NULL;temp1=temp1->next )
     printf("%d
",temp1->p);
    break;
   }
   else 
   {
    temp2=new num;
    temp2->next =NULL;
    temp1->next=temp2;
    temp1=temp2;
    temp1->p=fun(m,n);
   }
  }
 }
 return 0;
}


求一c语言大师 帮忙在线解决几个问题
程序有一些问题,修改之后如下,编译运行OK include <stdio.h> void main(){ int x=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf("%d %d %d\\n", x, y, z);} 运行结果

C语言大师请给我写一个c程序用来测试我机器CPU满负荷工作
这个一般不能做到。一般的C语言编译器会限制程序的资源使用量(如CPU不超过40%),超过设定时,编译出来的程序会提示“未响应”而停止工作,不会造成电脑满负荷工作的情况。实现满负荷工作可以用一些拷机软件,比如Super PI,来测试处理器的性能。但对于时间的记录,可以运用的函数来实现,用法如下:time...

求大师帮我做道非常简单的C语言题目吧!!
include "stdafx.h" \/\/vc 的话这个删了 include <stdio.h> void gm(char[]);char ch[20];int _tmain(int argc, _TCHAR* argv[]) \/\/VC的话这个改一下void main(){ printf("请输入要加密的字符串(不要用空格隔开):\\n");scanf("%s",&ch);gm(ch);printf("%s\\n",ch);} ...

请c语言大师帮我把下面这个c语言用中文翻译一下
include<stdio.h> main(){int a=8,b=6,m=1;switch(a%4) \/\/a除4取余数,8%4=0 { case 0:m++; \/\/程序走到这里,m=m+1=1+1=2 break; \/\/break跳出switch case 1:m++;switch(b%3){default: m++;case 0:m++; break;} } \/\/跳到这里 printf("%d\\n",m); \/\/printf...

我是C语言的初学者有个程序想请教网张大师们
修改如下:\/\/--- include <iostream.h> include <iomanip.h> int main(){ int a,b;int c=2; \/\/注意这里 cout<<"请输入平行四边形的长和宽"<<endl;cin>>a>>b;for(int i=1;i<=b;i++){ c=c+2; \/\/注意这里 cout<<setw(c)<<'*'; \/\/注意这里 for(int j=1;j<a...

跪求大师用C语言帮我编一个8点基-2按时间抽取的FFT程序
用递归应该比较容易写的, 虽然效率差一些 大概思路:用一个函数做准备:把数组排列成到位序 计算Wn 对整个数组调用 do_fft函数 do_fft函数:如果需要计算的序列长为2,两个位置分别写为x[0]+x[1]和x[0]-x[1]然后返回 对需要计算的序列前半部分调用do_fft函数 对需要计算的序列后半副本调用do...

...法。求耐心的C语言大师用平易简单的初级方法帮忙修改。
函数的参数,与预定义(宏)等重名了,解决方法就是修改预定义宏、函数参数中的任何一个,使其不重名即可。

拜托各位C语言大师指点一下~
while(++cnt<n){ scanf("%f",&x);if(max<x)max=x;} 是一个循环体:其中 while表示开始循环,循环的内容就是{ }符号中间的内容。++cnt<n,是一个循环退出的标志,也就是说,当cnt < n的值的时候就退出 ++cnt的意思就是,先自己加1,再使用。++cnt<n可以拆分成两条代码。 cnt = cnt ...

大师帮忙挑下错误(C语言)
include<stdio.h> include<string.h> main(){ char str[50];char dstr[50]; \/\/保存目标串 int i,j,k,t;int dindex = 0;scanf("%s",str);k=strlen(str);for(i=0;i<k;i++)for(j=0;j

急需将下面这一篇C++程序改成c语言程序。大师们帮帮忙,必有丰厚的金...
student *p2=head;p2->next;p2=p2->next){if(p2->next->number==number){p1=p2->next;p2->next=p1->next;free(p1);printf("%d 号学生信息已经被删除。\\n",number);return ;}} printf("%d 不能找到。\\n",number);return ;} 已改好,编译成功,满意请采纳,有问题请追问,谢谢!