C语言中,输入一个数n,则输出字符串中的第n个字符,怎么实现

如题所述

首先要有一个字符串

然后输入数 输出对应下标的元素即可。 

#include <stdio.h>
int main()
{
    char s[100]= "this is a test string";
    int n;
    //scanf("%s",s);//如果要自己输入字符串,那么取消这个注释。
    scanf("%d",&n);
    printf("%c\n", s[n-1]); //平时说的第几个 从1开始计数。 而下标是从0开始的。 所以这里减一。
    
    return 0;
}追问

n是自己要输入的数吧、

追答

是的
所以有
scanf("%d",&n);

追问

如果输入的数是前面通过计算得出的数,而不是自己输入的,还怎么改?

追答

封装函数吧。 

void func(int n)
{
    char s[100]= "this is a test string";
    
    printf("%c\n", s[n-1]); //平时说的第几个 从1开始计数。 而下标是从0开始的。 所以这里减一。
  
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言实现输入一个数N后,再输入N行字符串?
include<stdio.h>#include<stdlib.h>int main(){int N;scanf("%d%*c",&N);char *p[N];for(int i=0;i<N;i++){p[i]=(char*)malloc(100*sizeof(char)); gets(p[i]);}for(int i=0;i<N;i++) printf("%s\\n",p[i]);\/\/getchar();return 0;} ...

c语言中如何获得字符串的第n个字符?
C中,字符串实际上就是字符数组,所以可以按照从数组中提取元素的方式取得字符串中的某个字符,例如:char a[]="123456789";putchar(a[0]);

从键盘输入一个字符串和一个数字n,要求从字符串的第n个字符开始到字符串...
C的字符串是用字符数组实现的,而数组的下标规定是从0开始的。第n个元素的下标值就是n-1了,0~n-1刚好共n个元素。Str是这个字符串数组的首地址,就是下标为0的那个元素的地址,它加上n-1刚好是第n个元素所在的位置。printf("%s\\n",Str+n-1)的意思是把字符串Str从第n个元素(下标是n-1)开始的后续元素...

c语言输入一个数n,然后输入n行字符串,分别输出每个字符组中数字的个...
i<n;++i){printf("字符串%d中有%d个数字\\n", i+1, ip[i]);}free(

如何在C语言中实现输入一个字符串,然后按照指定顺序输出字符字串。
本人楼主意思的理解如下:include<stdio.h> int main(){ int n;string a[4]; \/\/string 为字符串类型 printf("请输入您要输出的第n个字符串");scanf("%d",&n);printf("%s\\t",a[n-1]);return 0;}

c语言编程:输入一个很大的整数n(n<100),输出n各位数字之和 ,利用字 ...
思路:输入字符串,从字符串的第一个位置开始依次把每个数字字符转成整数,并计算其累加和。参考代码:include "stdio.h" #include "string.h" int main() {char a[100];int i,sum=0;gets(a); for(i=0;a[i]!='\\0';i++)\/\/遍历求累加和 sum+=a[i]-'0';printf("%d\\n",sum...

c语言输入一个整数n,输出这n行"生蛋快乐",光标换行
思路:定义一个字符串并初始为“生蛋快乐”,接着while循环输出该字符串。参考代码:include <stdio.h>int main(){ char a[20]="生蛋快乐";\/\/定义并初始化字符串 int n; scanf("%d",&n);\/\/输入整数n,表示需要输出多行"生蛋快乐" while(n--)\/\/while循环 puts(a);\/\/...

在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中输入字符串后然后打印出来的编程方法如下:1. 首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4...

c语言编程:输入一行字符,输出该字符串中间的字符
特殊情况我考虑到三种,第一是字符串为单个字符,第二是字符串长度为偶数,第三是先输入了enter。先用strlen求长度,再进行if或其他判断是否要进行余下操作。具体实现不难就不再赘述,需要请追问。

第一行输入一个数n,第二行输入n个整数,按照倒序把n个数输出.(使用数组...
按照题目的要求我们可以直接把数据存到数组之中,然后倒序输出数组元素即可,不需要对数据进行改变。正确代码如下:include <stdio.h> define N 2000 int main () { int i=0;int n=0,a[N];scanf("%d",&n);for(i;i<n;i++){ scanf("%d",&a[i]);} for(i=n-1;i>=0;i--){ pr...

相似回答