通过终端输入自己的学号和姓名,(例如:2015123456zhanyanjun) 获取学号后两位数字56,并循环输出56遍自己的姓名,输出完毕后睡眠10秒再结束程序。用c语言编写
时间: 2024-09-06 20:01:13 浏览: 72
opengl.zip_opengl 数字_opengl 数字
以下是一个简单的C语言程序,它实现了你的要求:
```c
#include <stdio.h>
#include <string.h>
#include <unistd.h> // 包含了sleep函数
int main() {
char input[20]; // 假设学号和姓名的总长度不超过19个字符
printf("请输入你的学号和姓名(例如:2015123456zhanyanjun):");
scanf("%s", input); // 读取用户输入的字符串
// 获取学号的后两位数字
int lastTwoDigits = (input[8] - '0') * 10 + (input[9] - '0');
// 输出姓名56遍
for (int i = 0; i < lastTwoDigits; ++i) {
printf("%s\n", input + 10); // 输出姓名部分
}
sleep(10); // 睡眠10秒
return 0;
}
```
这段代码首先定义了一个字符数组来存储用户的输入。然后使用`scanf`函数读取用户输入的字符串。接着,通过指定位置的字符减去'0'字符,将字符转换为对应的数字值,从而得到学号的后两位数字。之后,使用一个循环结构根据这两位数字的值输出相应的姓名次数。最后,调用`sleep`函数使程序暂停10秒。
请注意,这个程序假设用户输入的格式是严格的,即学号和姓名之间有一个固定的分隔字符(在这里假设是空格,如果格式不同可能需要修改代码)。同时,由于`scanf`的使用,输入中不能包含空格。
阅读全文