简单C语言求大神

Misspelling is an art form that students seem to excel
at. Write a program that removes the nth character from an input
string.

Input

The first line of input contains a single integer N, (1
≤ N ≤ 1000) which is the number of datasets that follow.
Each dataset
consists of a single line of input containing M, a space, and a single word made
up of uppercase letters only. M will be less than or equal to the length of the
word. The length of the word is guaranteed to be less than or equal to 80.

Output

For each dataset, you should generate one line of
output with the following values: The dataset number as a decimal integer (start
counting at one), a space, and the misspelled word. The misspelled word is the
input word with the indicated character deleted.

Sample Input
4
4 MISSPELL
1 PROGRAMMING
7 CONTEST
3 BALLOON

Sample Output
1 MISPELL
2 ROGRAMMING
3 CONTES
4 BALOON

我的代码

#include<stdio.h>
#include<string.h>
int main()
{
int a,b,c,d,i;
char z[100];
while(scanf("%d",&a)!=EOF)
{
for(b=1;b<=a;b++)
{
scanf("%d",&c);
printf(" ");
gets(z);
d=strlen(z);
for(i=0;i<c-1;i++)
{
printf("%c",z[i]);
}
for(i=c;i<d;i++)
{
printf("%c",z[i]);
}
}
}
return 0;
}
求指导!!!

#include<stdio.h>
#include<string.h>

int main()
{
    int n = 0, m = 0;
    int i = 0,j = 0;
    char a[81] = "";
    char *p = NULL;
    
    while(EOF !=scanf("%d",&n))
    {
        if (n < 1 || n > 1000)
            continue;
        break;
    }
    while (i < n)
    {
        scanf("%d %s",&m,a);
        p = a + m;
        *(p - 1) = '\0';
        printf("%d %s%s\n",++i,a,p);
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-22
fscanf("%x",num);获取十六进制数的整数,之后判断后输出
fprintf("%x\t%d",num,num);就可以了.
【手动斜眼
苹果显示器】
相似回答