24小时热门版块排行榜    

查看: 1016  |  回复: 7

crasting

金虫 (小有名气)

[求助] C语言程序请教

本人初学C语言,马上要期末考试了,有两个程序怎么也算不出来,求高手指教,必重谢
一个程序:
#include<stdio.h>
int x,y;
f(int n)
{static int x=0;
  x++;
if(!(n%3)) printf("%d",n);
else y++;
return x;
}
void main( )
{int i;
x=1;y=5;
for(i=0;i<4;i++) x=f(i);
printf("#%d#%d\n”,x,y);
}

第二个程序:
#include "stdio.h"
void main
{char ch[2][5]={"6937","8254"},
*p[2];
int i,l,s=0;
for(i=0;i<2;i++) p=ch;
for(i=0;i<2;i++)
   for j=0;p[j]>'\0';j+=2)
      s=10*s+p[j]-'0';
printf(''%d\n",s);
}

[ Last edited by crasting on 2013-7-2 at 15:47 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
别贴代码,贴题目
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-07-02 17:58:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

crasting

金虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2013-07-02 17:58:55
别贴代码,贴题目

贴题目?
3楼2013-07-02 18:02:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

引用回帖:
3楼: Originally posted by crasting at 2013-07-02 18:02:50
贴题目?

就是这2个题是什么,让您你写代码干嘛的
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-07-02 21:42:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

crasting

金虫 (小有名气)

引用回帖:
4楼: Originally posted by libralibra at 2013-07-02 21:42:48
就是这2个题是什么,让您你写代码干嘛的...

第一个题1.        下列程序的输出结果是_________。
# include <stdio.h>
int x,y;
f(int n)
{ static int x=0;
x++;       
if(!(n%3)) printf("%d",n);
else y++;  
return x;
}
void main( )
{ int i;
x=1;y=5;
for(i=0;i<4;i++) x=f(i);
printf("#%d#%d\n",x,y);
}

第二个题:下列程序的输出结果是___________________。
#include "stdio.h"
void main()
{char ch[2][5]={"6937","8254"},*p[2];
int i,I,s=0;
for(i=0;i<2;i++)p=ch;
for(i=0;i<2;i++)
   for(j=0;p[j]>'\0';j+=2)
     s=10*s+p[j]-'0';
  printf("%d\n",s);
}
这是两个完整的题目,麻烦高手给指导一下吧!
5楼2013-07-03 09:31:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★
crasting: 金币+8, ★★★★★最佳答案, 我是从试题卷上直接粘贴的,可能是题目有问题吧,非常感谢您的热心帮助,对我很有用 2013-07-03 15:08:19
最简单,你把代码跑一次就有结果了.
要分析就得一条条代码看(代码不符合标准,改了可以运行):
1.函数f要有返回类型int,函数main一般需要返回int给系统.
结果是03#4#7
main中用0-3调用了f函数4次,返回值赋给全局变量x
子函数f中,先静态变量x自加,如果输入参数可以整除3,打印,否则全局变量y自加后返回静态变量x
i=0,f中x=1,打印0,返回1
i=1,f中x=2,y=6,返回2
i=2,f中x=3,y=7,返回3
i=3,f中x=4,打印3,返回4
main中打印#x#y就是#4#7
所以看到的结果就是03#4#7

2.贴代码的时候用[code]代码在这里[/code]把代码框起来,貌似丢了无数的[i],还有上面的main无返回类型问题,你的代码是手打的吗?那个大写I应该是j.
改完后结果是6385.
弄了2个字符串,然后用指针数组元素分别指向它们(第一个for)
然后开始双循环,内层循环干一件事情,从字符串头开始,每隔一个取一个数字(这时候是字符),转为整型,添加到s表示的那个数的结尾(如果原s是2,找到一个3,s就变成了23).2个数分别是6937和8254.隔一个拿一个放一起就是6385.
那个printf从缩进看属于内层循环,但是由于for都没有用花括号包,因此只有s赋值那一行在循环体内部,printf是双层循环完了之后直接输出s一次,结果是6385.
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
6楼2013-07-03 14:13:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

学虫dj

金虫 (正式写手)

这应该是最简单的代码了,如果不知道怎么一步一步运算,直接把代码在编辑器上运行一下就可以了
穷则独善其事,达则兼济天下
7楼2013-07-04 10:37:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hywC

新虫 (小有名气)

引用回帖:
6楼: Originally posted by libralibra at 2013-07-03 14:13:15
最简单,你把代码跑一次就有结果了.
要分析就得一条条代码看(代码不符合标准,改了可以运行):
1.函数f要有返回类型int,函数main一般需要返回int给系统.
结果是03#4#7
main中用0-3调用了f函数4次,返回值赋给全局变 ...

请问10*s+p[j]-'0'是从原来的数组中减去'0'这个字符的意思吗
8楼2013-09-03 14:05:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 crasting 的主题更新
信息提示
请填处理意见