xcode5 all output不能输入(编写input()和output()函数,完成输入和输出5个学生的数据记录)

本文目录
- 编写input()和output()函数,完成输入和输出5个学生的数据记录
- xcode中scanf不能完成运行
- 小白新人,为什么我用vs2019编程C + +语言,Input和output不能连用是咋回事
- 输入5个字符串,按升序排序后输出要求,用input函数输入字符串,用output函数输出
编写input()和output()函数,完成输入和输出5个学生的数据记录
编写input()和output()函数输入,输出5个学生的数据记录。
1.程序分析:
2.程序源代码:
#include "stdio.h"
#include "conio.h"
#define N 5
struct student
{
char num;
char name;
int score;
}stu;
input(stu)
struct student stu;
{
int i,j;
for(i=0;i《N;i++)
{
printf("\n please input %d of %d\n",i+1,N);
printf("num: ");
scanf("%s",stu.num);
printf("name: ");
scanf("%s",stu.name);
for(j=0;j《3;j++)
{
printf("score %d.",j+1);
scanf("%d",&stu);
}
printf("\n");
}
}
print(stu)
struct student stu;
{
int i,j;
printf("\nNo. Name Sco1 Sco2 Sco3\n");
for(i=0;i《N;i++)
{
printf("%-6s%-10s",stu.name);
for(j=0;j《3;j++)
printf("%-8d",stu);
printf("\n");
}
}
main()
{
input();
print();
getch();
}
xcode中scanf不能完成运行
Windows:TurboC、Dev-C++
Linux:Vim、Emacs (Vim是Mac系统自带,也是今天用到的文本器)
Vim
· 创建文件(Terminal中完成)
vim printName.c(.c为结尾是C语言的标志)
vim有两种模式:命令模式 & 模式
在命令模式下输入i(a)就可以进入模式(模式的标志是在器下方显示"INSERT")
(操作方式在上一篇)
(P.S."#include"导入自己定义或者系统的头文件,"std"是standard,"i"是input,"o"是output。main前的int是固定写法,是一个返回值。main是一个函数名,是每一个程序的入口点。"argc"、"argv"为main的参数,"argc"运行的时候传递过来的参数个数,"argv" 将参数以字符串的形式保存在这个数组里面。如果想要查看这两个参数的具体含义可以用"printf"来进行查看。"printf"是输出指令。"return = 0"表示程序正行执行到结束,当"return = -1"是,表示程序在运行过程中意外出错,此时系统会没收程序申请的所有内存资源并且会立刻终端程序的执行。默认必须有返回值,但是在C++98中,如果没有返回值,编译器会自动添加"return = 0"。)
· 运行一个程序需要的所有步骤
1.预编译:讲#include头文件展开(头文件的后缀均为".h")
gcc -E pritName.c (此时文件还是以.c结尾)
2.汇编:生成汇编代码,会产生一个.s的文件。同时判断代码是否正确。
gcc -S printName.c
3.编译:将汇编代码转化成目标文件(二进制文件),产生一个.o的文件。
gcc -c printName.s
4.链接 将所有的.o文件链接为一个个执行的文件(可以给执行文件起名)
gcc -o outputName printName.o xx.o
5.运行
./outputName
但是这样一个过程很复杂,所以有了IDE(集成开发环境),Windows:VC++6.0、Visual Studio; MacOS:Xcode。
Xcode
其中包含了所有Apple产品的系统开发(iOS,tvOS,watchOS,OS X,other)。很强大!可以“分屏”编写代码。
//单行注释
/*
多行注释
*/
这里需要注意的是多行注释中的"/*"会匹配下一个"*/",因此,不可以在多行注释中嵌入一个多行注释。
常用快捷键
(P.S.在这个blog的中也可以用上面的快捷键,可以加深印象。)
变量
这是我在网上找到的一个图片。变量是一个相当于物品,而这个物品是要存储到一个空间当中,而这个空间是什么样的就是有数据类型来决定的。比如说下面的这张图片。
将十进制的数字转换为n进制的数字是,用到的是短除法,转化结果为"倒写的余数"。’A’代表字符,"A"代表字符串,当把“%c”换成“%d”时,输出的值对应为其ASCII值。在图片中的“%d”、“%ld”、“%c”、“%f”为占位。
补充scanf
scanf是一个输入的指令,输入多指令时用“空格”隔开。就这个例子来说,当输入两个变量的时候,直到输入第三个变量之前是不会运行程序的。但当输入四个变量时,只会识别前三个变量,因为第四个变量没有“位置”。
小白新人,为什么我用vs2019编程C + +语言,Input和output不能连用是咋回事
cin和cout是标准输入和标准输出,标准输入指你在终端窗口里用键盘输入,标准输出是输出到终端窗口,这是默认的情况。
这种情况下,和你的input output没有任何关系,cin不会从input读取,cout也不会输出到output文件里。
需要使用fstream来从文件读取和写入文件。
fstream的用法类似cin/cout,也是用《《 和 》》,不过fstream需要你构造一个文件流对象
例如:
fstream fin("input.txt", ios_base::in);
fstream fout("output.txt", ios_base::out);
输入5个字符串,按升序排序后输出要求,用input函数输入字符串,用output函数输出
#include《stdio.h》
#include《string.h》
char *p; /*定义全剧变量指针*/
void input()
{
int i;
printf("请输入5个字符串:");
for(i=0;i《5;i++)
gets(p); /*输入5个字符串*/
}
void sort()
{
int i,j;
char a;
for(i=0;i《4;i++)
{
for(j=i;j《4;j++)
if(strcmp(p)》0) /*如果前面的比后面的大那就交换值 ,就是让前面的依次比后面小*/
{
strcpy(a,p); /*用复制函数交换两个字符串的值*/
strcpy(p);
strcpy(p,a);
}
}
}
void output()
{
int i;
for(i=0;i《5;i++)
{
puts(p); /*输出排好序的字符串*/
}
}
int main()
{
int i,j;
char a;
for(i=0;i《5;i++)
p; /*把数组的地址赋值跟指针*/
input();
sort();
output();
}
如果还有什么不懂得地方可以Q我527663232.。。其实是很简单的问题

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30
vba编写excel插件(excel vba中能否动态创建控件)
2026年9月7日 04:40






