| 查看: 1010 | 回复: 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 ] |
» 猜你喜欢
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有5人回复
博士读完未来一定会好吗
已经有29人回复
博士申请都是内定的吗?
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有12人回复
投稿精细化工
已经有4人回复
高职单位投计算机相关的北核或SCI四区期刊推荐,求支招!
已经有4人回复
导师想让我从独立一作变成了共一第一
已经有9人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
请教怎样把Mathematica程序转成C语言
已经有3人回复
谁帮忙吧我这个公式用C语言表达出来,我把我的一半金币分给你
已经有7人回复
求助高手将以下C语言翻译为Matlab语言,急急急!
已经有12人回复
一步一步学习C语言
已经有19人回复
电脑装一个ubuntu系统做 数值计算?
已经有11人回复
c语言高手请进,请勿灌水,谢谢!(关于读写文件的问题)
已经有6人回复
请教一个while loop程序的问题
已经有5人回复
请教关于遗传算法编程的问题(俺是小白)
已经有4人回复
【求助】如何写FORTRAN程序实现求平均最近邻距离
已经有34人回复
【讨论】环境工程专业学生要掌握哪些软件?
已经有27人回复
【讨论】大家对未来GPU在monte carlo中的应用持有什么样的态度(CUDA)?
已经有15人回复
关机计算机2级考试的问题
已经有4人回复
crasting
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1910.4
- 散金: 39
- 红花: 3
- 帖子: 196
- 在线: 92小时
- 虫号: 2439145
- 注册: 2013-04-27
- 专业: 光学
3楼2013-07-02 18:02:50
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

4楼2013-07-02 21:42:48
crasting
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1910.4
- 散金: 39
- 红花: 3
- 帖子: 196
- 在线: 92小时
- 虫号: 2439145
- 注册: 2013-04-27
- 专业: 光学
|
第一个题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
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★
crasting: 金币+8, ★★★★★最佳答案, 我是从试题卷上直接粘贴的,可能是题目有问题吧,非常感谢您的热心帮助,对我很有用 2013-07-03 15:08:19
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. |

6楼2013-07-03 14:13:15













回复此楼